#pragma once
#include <QString>
#include <QList>
#include "Utility.h"

class ILogic
{
public:
	ILogic();

	//method on start program, it'll run from ctor()
	virtual void Start()=0;

	virtual void Stop()=0;

	//take list unparsed strings with name and model of device
	virtual QList<Devices> getDevices()=0;

	//method help server's to understand which from devices is selected at the moment
	virtual void selectedDevice(QString)=0;

	//return path to just made screenshot
	virtual bool getScreenshot(QString)=0;

	//return FileSystem struct after parsing info from server
	virtual QList<FileSystem> getFileSystem(QString)=0;

	//method to create new Folder
	virtual bool newFolder(QString, QString)=0;

	//method to remove selected item(folder,file)
	virtual bool Delete(QString, QString)=0;

	//method which provide installing .apk file from selected directory(PC or device)
	virtual bool Install(QString,bool)=0;

	

	//paste file or folder at the specified path: 0arg = destiantion dir,1arg = list of file/dirs to copy/cut, 2arg = copy/cut
	virtual bool Paste(QString, QStringList, bool)=0;
	

	virtual void connectByWifi(QString &IP)=0;
	virtual bool makeBackup(QString,bool,bool)=0;
	virtual bool Restore(QString)=0;
	virtual bool Push(QString,QString)=0;
	virtual bool Pull(QString,QString)=0;
};

